package com.zy.explore.license.interfaces.validator;

import com.zy.explore.license.interfaces.assembler.JpaExampleAssembler;
import com.zy.explore.license.interfaces.frm.ExampleSaveFrm;

import lombok.extern.slf4j.Slf4j;
import java.util.Objects;

/**
 * JPA数据校验对象示例
 *
 * @author 🇨🇳中国印🇨🇳
 * @date 2022年04月17日 01:33:12
 * @since 1.0.0
 */
@Slf4j
public class JpaExampleValidator {

    /**
     * 根据实际业务校验保存参数
     *
     * @param frm 待校验的frm对象
     */
    public static void validateFrm(JpaExampleAssembler assembler, ExampleSaveFrm frm) {
        String id = frm.getId();
        if (Objects.equals(id, null)) {
            // 新增数据校验
            validateFrmForInsert(assembler, frm);
        } else {
            // 更新数据校验
            validateFrmForUpdate(assembler, frm);
        }
    }

    /**
     * 方法说明：新增对象做校验
     *
     * @param assembler 转换器
     * @param frm       请求参数
     */
    private static void validateFrmForInsert(JpaExampleAssembler assembler, ExampleSaveFrm frm) {
        // TODO 根据实际需求写校验逻辑
        log.warn("TODO 请按实际情况补充新增校验逻辑");



    }

    /**
     * 方法说明：更新对象做校验
     *
     * @param assembler 转换器
     * @param frm       请求参数
     */
    private static void validateFrmForUpdate(JpaExampleAssembler assembler, ExampleSaveFrm frm) {
        // TODO 根据实际需求写校验逻辑
        log.warn("TODO 请按实际情况补充更新校验逻辑");




    }

}

